from PublicReference.carry.base import *


class 技能0(主动技能):
    名称 = '魔灵召唤：波拉斯'
    备注 = '(每秒DPS)'
    所在等级 = 15
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 444.15 * 1.101 * 1.17
    成长 = 13.94 * 1.101 * 1.17
    攻击次数 = 12/4/20
    #数据1 = [0, 319, 362, 380, 397, 417, 435, 452, 470, 490, 509, 526, 546, 565, 583, 603, 622, 640, 658, 675, 694, 714, 733, 751, 770, 790, 806, 825, 845, 862, 880, 901, 919, 936, 956, 974, 993, 1011, 1031, 1050, 1065, 1086, 1104,  1122, 1142, 1161, 1179, 1199, 1216, 1235, 1254, 1272, 1290, 1309, 1327, 1346, 1366, 1384, 1403, 1422, 1440, 1458, 1477, 1495, 1514, 1532, 1550, 1571, 1590, 1608, 1626]
    #攻击次数1 = 10
    #数据2 = [0, 1277, 1445, 1518, 1586, 1666, 1741, 1808, 1882, 1962, 2036, 2103, 2184, 2258, 2332, 2413, 2486, 2560, 2634, 2702, 2775, 2856, 2930, 3004, 3078, 3158, 3226, 3299, 3380, 3447, 3522, 3602, 3676, 3743, 3824, 3898, 3971, 4046, 4126, 4200, 4261, 4341, 4415, 4489, 4570, 4643, 4718, 4798, 4866, 4939, 5013, 5087, 5161, 5235, 5309, 5382, 5463, 5538, 5611, 5685, 5759, 5833, 5907, 5981, 6054, 6129, 6202, 6283, 6357, 6431, 6505]
    #攻击次数2 = 2
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能1(主动技能):
    名称 = '魔灵召唤：瓦尔琪'
    备注 = '(每秒DPS)'
    所在等级 = 15
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 328.09 * 1.102 * 1.173
    成长 = 14.5 * 1.102 * 1.173
    攻击次数 = 14/7/20
    #数据1 = [0, 177, 218, 235, 254, 273, 292, 310, 328, 347, 366, 384, 403, 422, 440, 458, 477, 496, 514, 533, 553, 570,  588, 608, 626, 644, 664, 682, 701, 719, 738, 757, 775, 794, 812, 830, 850, 868, 887, 905, 924, 943, 961, 979, 998, 1017, 1034, 1054, 1072, 1092, 1110, 1128, 1147, 1166, 1184, 1203, 1221, 1240, 1258, 1277, 1295, 1314, 1333, 1352, 1370, 1389, 1407, 1425, 1445, 1463, 1482]
    #攻击次数1 = 11
    #数据2 = [0, 511, 558, 607, 655, 702, 750, 797, 846, 894, 942, 990, 1037, 1085, 1133, 1182, 1231, 1278, 1326, 1374, 1421, 1471, 1518, 1566, 1612, 1660, 1708, 1757, 1805, 1852, 1901, 1947, 1996, 2044, 2092, 2139, 2187, 2235, 2284, 2332, 2380, 2427, 2475, 2523, 2572, 2621, 2668, 2714, 2763, 2810, 2859, 2906, 2955, 3002, 3050, 3097,  3147, 3194, 3242, 3290, 3337, 3386, 3434, 3482, 3529, 3577, 3626, 3674, 3720, 3768, 3816]
    #攻击次数2 = 3
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能2(被动技能):
    名称 = '魔灵血统'
    所在等级 = 15
    等级上限 = 11
    基础等级 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.08 + 0.02 * self.等级, 5)

class 技能3(被动技能):
    名称 = '力量法则'
    所在等级 = 20
    等级上限 = 11
    基础等级 = 1
    关联技能 = ['军团列阵', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击',
            '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸：亚丁降临', '绽放·终章', '盛宴·恶之祭典']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.085 + 0.015 * self.等级, 5)

class 技能4(主动技能):
    名称 = '魔灵召唤：狂暴布洛克'
    备注 = '(每秒DPS)'
    所在等级 = 20
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 506.41 * 1.101 * 1.173
    成长 = 22.14 * 1.101 * 1.173
    攻击次数 = 14/5.5/20
    #数据1 = [0, 724, 789, 859, 926, 994, 1061, 1129, 1196, 1263, 1331, 1399, 1466, 1533, 1600, 1671, 1740, 1807, 1875, 1941, 2009, 2078, 2147, 2214, 2279, 2346, 2415, 2484, 2552, 2619, 2686, 2753, 2823, 2890, 2957, 3025, 3093, 3160, 3227, 3295, 3362, 3430, 3497, 3565, 3636, 3704, 3771, 3838, 3904, 3972, 4041, 4109, 4176, 4244, 4311, 4379, 4448, 4515, 4583, 4650, 4718, 4786, 4855, 4922, 4990, 5057, 5124, 5192, 5260, 5327, 5394]
    #攻击次数1 = 3
    #数据2 = [0, 651, 711, 773, 833, 895, 955, 1015, 1076, 1137, 1198, 1258, 1319, 1380, 1441, 1505, 1565, 1626, 1687, 1747, 1808, 1871, 1931, 1993, 2051, 2112, 2173, 2236, 2297, 2357, 2417, 2479, 2541, 2601, 2662, 2723, 2784,  2844, 2904, 2966, 3027, 3088, 3148, 3209, 3272, 3333, 3394, 3453, 3514, 3575, 3637, 3698, 3758, 3819, 3880, 3940, 4003, 4064, 4124, 4185, 4246, 4308, 4369, 4430, 4491, 4551, 4612, 4673, 4733, 4793, 4855]
    #攻击次数2 = 3
    #数据3 = [0, 203, 221, 240, 259, 278, 297, 316, 335, 355, 373, 392, 410, 429, 448, 468, 487, 507, 525, 544, 563, 582, 600, 620, 638, 657, 676, 696, 715, 733, 752, 771, 790, 809, 828, 847, 866, 885, 905, 923, 941, 960, 979, 998, 1018, 1037, 1056, 1074, 1094, 1112, 1131, 1150, 1169, 1188, 1207, 1226, 1246, 1265, 1283, 1302, 1321, 1340, 1359, 1378, 1397, 1416, 1436, 1454, 1472, 1492, 1510]
    #攻击次数3 = 8
    #出血数据4 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,10, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 19, 19, 20, 20,20, 21, 21, 21, 22, 22, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27]
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能5(主动技能):
    名称 = '绝对魅力'
    所在等级 = 25
    等级上限 = 20
    基础等级 = 10
    是否有伤害 = 0
    关联技能 = ['魔灵召唤：波拉斯', '魔灵召唤：瓦尔琪', '魔灵召唤：狂暴布洛克', '魔灵召唤：假面杰森', '魔灵召唤：大画家芭芘',
            '魔灵召唤：旋转小冯', '魔灵召唤：小吸血鬼夏伊', '魔灵召唤：大富翁鲁邦', '魔灵召唤：迪克老爹', '魔灵召唤：红心女王艾丽莎']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.035 + 0.012 * self.等级, 5)

    自定义描述 = 1
    描述 = ''

    def 技能描述(self, 武器类型):
        temp = ''
        temp += '加成倍率：%.1f%%' % (3.5 + 1.2 * self.等级) + '<br>'
        temp += '关联技能：魔灵召唤系列,'
        temp += self.描述 + ',魔灵(部分),毁灭突进(部分)'
        return temp

class 技能6(主动技能):
    名称 = '魔灵召唤：假面杰森'
    备注 = '(每秒DPS)'
    所在等级 = 25
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 800.21 * 1.102 * 1.174
    成长 = 34.68 * 1.102 * 1.174
    攻击次数 = 8/7/20
    #数据1 = [0, 1418, 1547, 1682, 1814, 1947, 2079, 2211, 2344, 2476, 2609, 2741, 2874, 3005, 3137, 3277, 3409, 3542, 3674, 3806, 3938, 4074, 4207, 4338, 4467, 4599, 4731, 4868, 5000, 5133, 5264, 5396, 5532, 5665, 5797, 5929, 6062, 6194, 6326, 6458, 6591, 6723, 6855, 6988, 7127, 7259, 7392, 7520, 7652, 7784, 7920, 8052, 8185, 8317, 8449, 8582, 8717, 8850, 8982, 9114, 9247, 9382, 9514, 9647, 9779, 9912, 10044, 10175, 10308, 10440, 10572]
    #攻击次数1 = 6
    #数据2 = [0, 284, 310, 337, 364, 390, 416, 442, 469, 496, 522, 548, 574, 600, 627, 655, 681, 708, 734, 761, 788, 815, 842, 868, 894, 921, 946, 974, 1000, 1027, 1053, 1079, 1106, 1133, 1160, 1186, 1212, 1238, 1265, 1292, 1319,  1345, 1371, 1398, 1426, 1452, 1479, 1504, 1531, 1557, 1584, 1610, 1637, 1663, 1690, 1716, 1743, 1770, 1797, 1823, 1849, 1877, 1903, 1930, 1956, 1982, 2009, 2035, 2062, 2088, 2114]
    #攻击次数2 = 2
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能7(主动技能):
    名称 = '魔灵召唤：大画家芭芘'
    备注 = '(每秒DPS)'
    所在等级 = 25
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 435.41 * 1.101 * 1.163
    成长 = 18.88 * 1.101 * 1.163
    攻击次数 = 14/5/20
    #数据1 = [0, 280, 307, 334, 360, 385, 412, 437, 464, 491, 517, 544, 569, 596, 622, 650, 676, 701, 727, 754, 780, 807, 833, 860, 885, 911, 938, 964, 991, 1016, 1043, 1069, 1095, 1122, 1148, 1175, 1202, 1227, 1254, 1280, 1305, 1332, 1359, 1384, 1412, 1437, 1464, 1490, 1517, 1543, 1569, 1595, 1622, 1648, 1674, 1700, 1726, 1752, 1779, 1805, 1832, 1859, 1885, 1911, 1937, 1963, 1990, 2016, 2042, 2068, 2093]
    #攻击次数1 = 12
    #数据2 = [0, 365, 398, 432, 467, 500, 535, 569, 603, 637, 671, 706, 740, 773, 808, 843, 878, 911, 946, 979, 1013, 1049, 1083, 1116, 1149, 1183, 1217, 1252, 1286, 1319, 1355, 1388, 1423, 1456, 1491, 1526, 1560, 1594, 1629, 1662, 1696, 1730, 1764, 1798, 1833, 1868, 1901, 1935, 1969, 2003, 2038, 2072, 2105, 2139, 2174, 2207, 2242, 2276, 2310, 2345, 2379, 2414, 2447, 2481, 2516, 2550, 2584, 2619, 2651, 2686, 2719]
    #攻击次数2 = 2
    #复制伤害数据3 = [0, 1184, 1293, 1406, 1517, 1626, 1738, 1848, 1959, 2072, 2182, 2292, 2404, 2514, 2624, 2739, 2850, 2961,3073, 3182, 3292, 3405, 3516, 3626, 3736, 3846, 3956, 4068, 4180, 4290, 4401, 4511, 4623, 4734, 4846, 4955,5066, 5177, 5290, 5400, 5512, 5622, 5732, 5843, 5959, 6069, 6179, 6287, 6398, 6510, 6622, 6732, 6844, 6953,7063, 7175, 7288, 7398, 7509, 7619, 7729, 7842, 7953, 8064, 8174, 8285, 8398, 8509, 8617, 8727, 8838]
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能8(主动技能):
    名称 = '魔灵召唤：旋转小冯'
    备注 = '(每秒DPS)'
    所在等级 = 30
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 1444.80 * 1.105 * 1.18
    成长 = 61.64 * 1.105 * 1.18
    攻击次数 = 73/90/20
    #数据1 = [0, 190, 208, 227, 244, 262, 279, 297, 314, 332, 350, 368, 385, 403, 421, 440, 457, 476, 493, 511, 529, 547, 564, 582, 599, 617, 635, 653, 671, 689, 707, 725, 743, 760, 778, 796, 814, 833, 850, 867, 885, 903, 921, 938, 957, 975, 992, 1010, 1028, 1045, 1063, 1080, 1099, 1117, 1135, 1151, 1170, 1188, 1206, 1223, 1241, 1259, 1277, 1295, 1313, 1330, 1349, 1366, 1383, 1401, 1418]
    #攻击次数1 = 9 * 5
    #数据2 = [0, 245, 268, 291, 314, 337, 360, 381, 404, 428, 451, 473, 497, 519, 543, 565, 589, 611, 635, 657, 680, 702, 725, 748, 771, 794, 817, 840, 863, 886, 908, 931, 954, 977, 1000, 1022, 1046, 1068, 1092, 1114, 1138, 1160, 1184, 1206, 1230, 1252, 1275, 1298, 1321, 1344, 1366, 1390, 1412, 1436, 1458, 1481, 1505, 1527, 1550, 1573, 1595, 1618, 1641, 1664, 1687, 1710, 1734, 1757, 1778, 1802, 1823]
    #攻击次数2 = 3 * 6
    #数据3 = [0, 339, 371, 402, 436, 467, 499, 529, 562, 594, 626, 657, 689, 721, 752, 786, 817, 849, 880, 913, 943, 977, 1009, 1040, 1070, 1103, 1134, 1166, 1197, 1230, 1262, 1293, 1326, 1358, 1390, 1420, 1454, 1484, 1517, 1548, 1580, 1611, 1643, 1675, 1709, 1740, 1771, 1803, 1833, 1867, 1900, 1931, 1961, 1994, 2026, 2057, 2089, 2120, 2152, 2184, 2216, 2248, 2280, 2313, 2344, 2374, 2408, 2439, 2471, 2502, 2534]
    #攻击次数3 = 1 * 10
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能9(主动技能):
    名称 = '魔灵召唤：小吸血鬼夏伊'
    备注 = '(每秒DPS)'
    所在等级 = 30
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 711.37 * 1.103 * 1.171
    成长 = 30.36 * 1.103 * 1.171
    攻击次数 = 14/3/20
    #数据1 = [0, 507, 554, 602, 649, 697, 743, 791, 839, 887, 933, 982, 1029, 1076, 1123, 1173, 1220, 1267, 1315, 1363, 1409, 1458, 1506, 1553, 1599, 1645, 1694, 1742, 1788, 1837, 1885, 1931, 1979, 2028, 2075, 2121, 2169, 2217, 2264, 2313, 2359, 2407, 2453, 2501, 2552, 2598, 2644, 2691, 2740, 2787, 2834, 2882, 2930, 2976, 3025, 3071, 3120, 3167, 3214, 3262, 3309, 3357, 3405, 3452, 3500, 3547, 3596, 3643, 3689, 3736, 3783]
    #攻击次数1 = 10
    #数据2 = [0, 543, 594, 645, 697, 747, 797, 848, 899, 950, 1001, 1051, 1103, 1153, 1204, 1256, 1307, 1358, 1409, 1460, 1510, 1563, 1614, 1665, 1713, 1763, 1814, 1867, 1917, 1968, 2019, 2070, 2120, 2172, 2222, 2273, 2324, 2375, 2427, 2479, 2527, 2579, 2629, 2680, 2734, 2784, 2834, 2885, 2935, 2986, 3038, 3089, 3139, 3191, 3241, 3291, 3344, 3393, 3443, 3495, 3545, 3598, 3649, 3700, 3750, 3802, 3852, 3903, 3954, 4003, 4054]
    #攻击次数2 = 3
    #数据3 = [0, 1356, 1484, 1611, 1738, 1867, 1994, 2118, 2245, 2374, 2502, 2629, 2756, 2882, 3009, 3141, 3267, 3394, 3522, 3649, 3776, 3905, 4032, 4159, 4281, 4408, 4535, 4665, 4792, 4919, 5046, 5173, 5303, 5430, 5557, 5684,  5811, 5938, 6067, 6194, 6318, 6445, 6572, 6699, 6834, 6958, 7085, 7210, 7337, 7464, 7594, 7721, 7848, 7974, 8102, 8225, 8357, 8483, 8609, 8736, 8863, 8994, 9121, 9248, 9374, 9500, 9629, 9756, 9881, 10007, 10134]
    #攻击次数3 = 1
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能10(主动技能):
    名称 = '魔灵召唤：大富翁鲁邦'
    备注 = '(每秒DPS)'
    所在等级 = 35
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 1024.96 * 1.105 * 1.169
    成长 = 38.23 * 1.105 * 1.169
    攻击次数 = 18/5/20
    #data1 = [0, 528, 564, 600, 636, 673, 709, 745, 781, 817, 852, 890, 926, 962, 998, 1034, 1069, 1107, 1142, 1179, 1213, 1249, 1285, 1322, 1358, 1394, 1430, 1466, 1502, 1538, 1575, 1610, 1646, 1683, 1719, 1755, 1790, 1827, 1862, 1898, 1936, 1971, 2007, 2043, 2079, 2115, 2152, 2187, 2224, 2260, 2296, 2330, 2369, 2404, 2440, 2476, 2512, 2548, 2584, 2621, 2656, 2692, 2729, 2765, 2800, 2836, 2872, 2909, 2946, 2981, 3017]
    #data2 = [0, 1163, 1242, 1321, 1400, 1480, 1559, 1639, 1717, 1797, 1875, 1958, 2038, 2117, 2196, 2275, 2354, 2435, 2514, 2593, 2669, 2749, 2828, 2908, 2987, 3067, 3145, 3226, 3305, 3384, 3464, 3542, 3622, 3702, 3782, 3860, 3938, 4019, 4097, 4177, 4260, 4338, 4416, 4494, 4574, 4654, 4733, 4811, 4892, 4970, 5049, 5128, 5210, 5287, 5367, 5445, 5525, 5606, 5684, 5765, 5844, 5922, 6004, 6082, 6160, 6237, 6317, 6398, 6479, 6557, 6637]
    #data3 = [0, 1743, 1862, 1982, 2100, 2219, 2338, 2458, 2577, 2695, 2813, 2937, 3056, 3175, 3293, 3412, 3531, 3652, 3770, 3889, 4003, 4122, 4242, 4362, 4480, 4602, 4719, 4837, 4957, 5078, 5196, 5315, 5432, 5552, 5673, 5792, 5908, 6028, 6145, 6263, 6390, 6505, 6624, 6741, 6861, 6980, 7100, 7219, 7337, 7456, 7574, 7691, 7815, 7932, 8051, 8168, 8288, 8408, 8527, 8646, 8764, 8883, 9005, 9123, 9240, 9356, 9474, 9596, 9717, 9835, 9954]
    #data4 = [0, 627, 671, 713, 755, 799, 842, 885, 927, 969, 1013, 1057, 1099, 1143, 1186, 1228, 1272, 1315, 1357, 1400, 1441, 1485, 1527, 1571, 1613, 1656, 1698, 1742, 1785, 1828, 1870, 1913, 1956, 1999, 2042, 2085, 2127, 2170, 2212, 2255, 2300, 2343, 2384, 2426, 2471, 2512, 2556, 2598, 2641, 2686, 2727, 2769, 2813, 2855, 2898, 2940, 2984, 3028, 3070, 3112, 3155, 3198, 3241, 3284, 3327, 3369, 3411, 3455, 3498, 3541, 3583]
    #数据 = [data1, data2, data3, data4]
    #次数 = [8, 4, 1, 1*5,]
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

    # def 等效百分比(self, 武器类型):
        #sum = 0
        # for i in range(4):
        #sum += self.数据[i][self.等级] * self.次数[i]
        # return sum * self.倍率

class 技能11(主动技能):
    名称 = '魔灵召唤：迪克老爹'
    备注 = '(每秒DPS)'
    所在等级 = 40
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 1179.84 * 1.105 * 1.175
    成长 = 55.34 * 1.105 * 1.175
    攻击次数 = 8/1.8/20
    #数据1 = [0, 680, 749, 818, 887, 957, 1025, 1094, 1163, 1232, 1301, 1370, 1439, 1508, 1577, 1646, 1715, 1784, 1853, 1922, 1991, 2060, 2129, 2198, 2267, 2336, 2405, 2474, 2543, 2612, 2680, 2750, 2819, 2888, 2957, 3026, 3094, 3164, 3233, 3302, 3371, 3440, 3508, 3578, 3647, 3715, 3785, 3853, 3923, 3992, 4061, 4129, 4199, 4268, 4337, 4406, 4475, 4543, 4613, 4682, 4751, 4820, 4889, 4958, 5027, 5096, 5164, 5234, 5302, 5371, 5441]
    #攻击次数1 = 10
    #数据2 = [0, 1941, 2138, 2335, 2533, 2730, 2926, 3123, 3319, 3516, 3714, 3911, 4108, 4305, 4501, 4699, 4896, 5092, 5289, 5486, 5684, 5881, 6077, 6274, 6471, 6668, 6865, 7061, 7259, 7456, 7653, 7850, 8046, 8243, 8440, 8637, 8834, 9031, 9229, 9425, 9622, 9819, 10015, 10213, 10409, 10607, 10805, 11000, 11197, 11395, 11591, 11789, 11985, 12182, 12380, 12576, 12773, 12970, 13166, 13364, 13561, 13757, 13955, 14152, 14349, 14546, 14742, 14939, 15136, 15333, 15530]
    #攻击次数2 = 2
    #数据3 = [0, 2448, 2696, 2945, 3193, 3442, 3690, 3938, 4186, 4434, 4684, 4931, 5180, 5429, 5676, 5925, 6174, 6422, 6670, 6918, 7167, 7415, 7663, 7912, 8160, 8408, 8657, 8906, 9153, 9402, 9650, 9898, 10147, 10395, 10643, 10892, 11140, 11389, 11637, 11885, 12134, 12382, 12631, 12879, 13127, 13375, 13624, 13872, 14120, 14369, 14617, 14865, 15114, 15362, 15611, 15859, 16107, 16356, 16603, 16853, 17101, 17348, 17598, 17846, 18094, 18342, 18590, 18839, 19087, 19336, 19584]
    #攻击次数3 = 1
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能12(主动技能):
    名称 = '魔灵召唤：红心女王艾丽莎'
    备注 = '(每秒DPS)'
    所在等级 = 45
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    基础 = 1647.65 * 1.105 * 1.173
    成长 = 76.20 * 1.105 * 1.173
    攻击次数 = 12/1.8/20
    #数据1 = [0, 2293, 2525, 2759, 2991, 3223, 3455, 3688, 3921, 4154, 4387, 4619, 4851, 5083, 5317, 5549, 5781, 6015, 6247, 6479, 6712, 6945, 7177, 7410, 7643, 7875, 8108, 8339, 8573, 8806, 9038, 9271, 9504, 9735, 9968, 10202, 10434, 10666, 10899, 11131, 11363, 11597, 11830, 12062, 12294, 12527, 12759, 12992, 13225, 13458, 13690, 13922, 14155, 14387, 14621, 14853, 15086, 15318, 15550, 15783, 16016, 16249, 16480, 16714, 16946, 17178, 17411, 17645, 17876, 18109, 18342]
    #攻击次数1 = 6*0.795
    #数据2 = [0, 2523, 2778, 3035, 3290, 3545, 3801, 4057, 4314, 4569, 4825, 5081, 5336, 5592, 5849, 6105, 6359, 6616, 6872, 7127, 7384, 7640, 7894, 8150, 8407, 8663, 8919, 9174, 9430, 9686, 9941, 10198, 10454, 10709, 10965, 11222, 11477, 11732, 11989, 12245, 12500, 12757, 13012, 13268, 13523, 13780, 14036, 14292, 14547, 14803, 15059, 15314, 15571, 15827, 16083, 16338, 16594, 16850, 17105, 17362, 17618, 17873, 18128, 18385, 18641, 18896, 19153, 19409, 19663, 19920, 20176]
    #攻击次数2 = 3*0.795
    TP成长 = 0.10
    TP上限 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 1.0

class 技能13(主动技能):
    名称 = '军团列阵'
    所在等级 = 15
    等级上限 = 60
    学习间隔 = 3
    等级精通 = 60

    data = [int(x*1.152) for x in [0, 4025, 4661, 5305, 5947, 6590, 7232, 7870, 8513, 9155, 9797, 10440, 11078, 11721, 12363, 13006, 13644, 14286, 14929, 15572, 16215, 16851, 17495, 18137, 18780, 19423, 20060, 20703, 21346, 21988, 22631, 23270, 23912, 24553, 25197, 25834,26477, 27120, 27763, 28405, 29042, 29685, 30328, 30971, 31614, 32251, 32893, 33537, 34178, 34821, 35460, 36102, 36743, 37387, 38025, 38667, 39310, 39953, 40595, 41233, 41875, 42518, 43161, 43804, 44441, 45084, 45727, 46369, 47008, 47650, 48292]]
    攻击次数 = 1
    CD = 5
    TP成长 = 0.10
    TP上限 = 5
    演出时间 = 0.48

    def 等效百分比(self, 武器类型):
        return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率

class 技能14(主动技能):
    名称 = '连锁共振'
    所在等级 = 20
    等级上限 = 60
    基础等级 = 1
    CD = 6
    TP成长 = 0.10
    TP上限 = 5
    关联技能 = ['魔灵召唤：波拉斯', '魔灵召唤：狂暴布洛克', '魔灵召唤：假面杰森', '魔灵召唤：旋转小冯', '魔灵召唤：迪克老爹']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 7:
                return round(1.94 + 0.02 * self.等级, 5)
            else:
                return round(2.1 + 0 * (self.等级 - 7), 5)

class 技能15(主动技能):
    名称 = '魔灵炸弹'
    所在等级 = 20
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(x*1.146) for x in [0, 546, 602, 658, 715, 771, 828, 884, 940, 998, 1054, 1111, 1167, 1223, 1280, 1336, 1392, 1449, 1505, 1562, 1618, 1674, 1731, 1788, 1844, 1899, 1956, 2013, 2071, 2127, 2183, 2239, 2296, 2353, 2409, 2465, 2521,2578, 2634, 2690, 2746, 2804, 2860, 2916, 2972, 3029, 3086, 3141, 3197, 3254, 3311, 3368, 3425, 3481, 3538, 3594, 3651, 3707, 3763, 3820, 3876, 3932, 3988, 4045, 4102, 4158, 4214, 4271, 4327, 4383, 4439]]  # jio踢
    攻击次数1 = 1
    data2 = [int(x*1.146) for x in [0, 7621, 8393, 9166, 9940, 10711, 11486, 12258, 13032, 13805, 14578, 15351, 16124, 16897, 17669, 18443, 19216, 19990, 20763, 21538, 22309, 23085, 23855, 24626, 25401, 26174, 26948, 27721, 28496, 29270, 30043, 30815, 31588, 32359, 33133, 33905,34679, 35454, 36228, 37000, 37773, 38549, 39320, 40090, 40865, 41637, 42413, 43185, 43958, 44731, 45507, 46278, 47050, 47823, 48596, 49370, 50143, 50916, 51688, 52464, 53236, 54008, 54781, 55554, 56330, 57101, 57876, 58646, 59422, 60196, 60966]]  # 大爹
    攻击次数2 = 1
    data3 = [int(x*1.146) for x in [0, 6065, 6690, 7301, 7920, 8536, 9158, 9770, 10373, 10988, 11610, 12228, 12840, 13454, 14075, 14691, 15309, 15921, 16534, 17152, 17774, 18379, 19001, 19617, 20232, 20843, 21460, 22083, 22699, 23303, 23931, 24545, 25166, 25771, 26383, 27009, 27621,28235, 28851, 29465, 30091, 30702, 31305, 31929, 32545, 33170, 33774, 34400, 35014, 35625, 36244, 36853, 37465, 38094, 38697, 39319, 39932, 40562, 41166, 41782, 42390, 43022, 43633, 44244, 44857, 45486, 46101, 46710, 47321, 47944, 48553]]  # 鸭子爆炸旋风5hit
    攻击次数3 = 1
    CD = 12
    演出时间 = 1.0

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率

    def 等效百分比2(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率

class 技能16(主动技能):
    名称 = '魔幻旋风'
    所在等级 = 25
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(x*1.18) for x in [0, 787, 867, 946, 1026, 1106, 1186, 1266, 1346, 1426, 1505, 1585, 1665, 1745, 1825, 1905, 1985, 2064, 2144, 2224, 2304, 2384, 2464, 2544, 2623, 2703, 2783, 2863, 2943, 3023, 3103, 3182, 3262, 3342, 3422, 3502, 3582, 3662, 3741, 3821, 3901, 3981, 4061, 4141, 4221, 4300, 4380, 4460, 4540, 4620, 4700, 4780, 4859, 4939, 5019, 5099, 5179, 5259, 5339, 5418, 5498, 5578, 5658, 5738, 5818, 5898, 5977, 6057, 6137, 6217, 6297]]
    攻击次数1 = 1
    data2 = [int(x*1.18) for x in [0, 263, 289, 316, 343, 370, 396, 423, 450, 476, 503, 530, 557, 583, 610, 637, 663, 690, 717, 743, 770, 797, 824, 850, 877, 904, 930, 957, 984, 1011, 1037, 1064, 1091, 1117, 1144, 1171, 1197, 1224, 1251, 1278, 1304, 1331, 1358, 1384, 1411, 1438, 1465, 1491, 1518, 1545, 1571, 1598, 1625, 1651, 1678, 1705, 1732, 1758, 1785, 1812, 1838, 1865, 1892, 1919, 1945, 1972, 1999, 2025, 2052, 2079, 2105]] # 多段攻击
    攻击次数2 = 14
    CD = 7
    TP成长 = 0.10
    TP上限 = 5
    演出时间 = 2.52

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率

class 技能17(主动技能):
    名称 = '毁灭突进'
    所在等级 = 30
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(x*1.139) for x in [0, 2869, 3154, 3446, 3741, 4031, 4323, 4606, 4898, 5193, 5486, 5775, 6067, 6355, 6650, 6935, 7227, 7518, 7811, 8099, 8391, 8681, 8970, 9269, 9553, 9848, 10135, 10427, 10719, 11008, 11297, 11587, 11881, 12175, 12457, 12753, 13044, 13331, 13626, 13918, 14209, 14495, 14786, 15077, 15372, 15657, 15947, 16239, 16534, 16824, 17112, 17405, 17690, 17984, 18278, 18567, 18855, 19146, 19438, 19733, 20018, 20313, 20608, 20893, 21185, 21470, 21765, 22056, 22347, 22638, 22928]]  # 突进和最后一击
    攻击次数1 = 2
    data2 = [int(x*1.139) for x in [0, 80, 88, 96, 105, 113, 122, 129, 138, 145, 153, 162, 169, 179, 187, 194, 203, 211, 218, 227, 234, 243, 251, 260, 268, 276, 284, 292, 300, 308, 316, 324, 333, 341, 349, 357, 365, 373, 381, 390, 397, 406, 415, 422, 431, 439, 446, 455, 463, 470, 480, 488, 496, 504, 511, 520, 528, 536, 544, 552, 561, 569, 578, 585, 593, 601, 609, 617, 626, 634, 643]]
    攻击次数2 = 5
    data3 = [int(x*1.139) for x in [0, 242, 265, 289, 315, 339, 363, 387, 412, 436, 461, 485, 509, 534, 559, 583, 607, 632, 656, 680, 705, 729, 753, 779, 802, 826, 852, 876, 900, 925, 949, 973, 999, 1023, 1046, 1072, 1096, 1119, 1145, 1169, 1193, 1218, 1242, 1266, 1292, 1316, 1340, 1365, 1389, 1413, 1437, 1463, 1486, 1511, 1535, 1559, 1584, 1609, 1633, 1657, 1682, 1706, 1730, 1756, 1780, 1803, 1829, 1852, 1876, 1902, 1926]]
    攻击次数3 = 5
    CD = 12
    TP成长 = 0.10
    TP上限 = 5
    演出时间 = 0.88

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率

class 技能18(主动技能):
    名称 = '翔空剑'
    所在等级 = 35
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(x*1.181) for x in [0, 962, 1060, 1157, 1255, 1352, 1450, 1548, 1645, 1743, 1841, 1938, 2036, 2134, 2231, 2329, 2426, 2524, 2622, 2719, 2817, 2915, 3012, 3110, 3208, 3305, 3403, 3501, 3598, 3696, 3793, 3891, 3989, 4086, 4184, 4282, 4379, 4477, 4575, 4672, 4770, 4867, 4965, 5063, 5160, 5258, 5356, 5453, 5551, 5649, 5746, 5844, 5941, 6039, 6137, 6234, 6332, 6430, 6527, 6625, 6723, 6820, 6918, 7015, 7113, 7211, 7308, 7406, 7504, 7601, 7699]]
    攻击次数1 = 1
    data2 = [int(x*1.181) for x in [0, 1261, 1388, 1516, 1644, 1772, 1900, 2028, 2156, 2284, 2412, 2540, 2668, 2796, 2924, 3051, 3179, 3307, 3435, 3563, 3691, 3819, 3947, 4075, 4203, 4331, 4459, 4587, 4715, 4842, 4970, 5098, 5226, 5354, 5482, 5610, 5738, 5866, 5994, 6122, 6250, 6378, 6506, 6633, 6761, 6889, 7017, 7145, 7273, 7401, 7529, 7657, 7785, 7913, 8041, 8169, 8297, 8424, 8552, 8680, 8808, 8936, 9064, 9192, 9320, 9448, 9576, 9704, 9832, 9960, 10088]]
    攻击次数2 = 1
    data3 = [int(x*1.181) for x in [0, 947, 1043, 1139, 1235, 1331, 1427, 1523, 1619, 1715, 1811, 1907, 2004, 2100, 2196, 2292, 2388, 2484, 2580, 2676, 2772, 2868, 2964, 3060, 3157, 3253, 3349, 3445, 3541, 3637, 3733, 3829, 3925, 4021, 4117, 4213, 4310, 4406, 4502, 4598, 4694, 4790, 4886, 4982, 5078, 5174, 5270, 5367, 5463, 5559, 5655, 5751, 5847, 5943, 6039, 6135, 6231, 6327, 6423, 6520, 6616, 6712, 6808, 6904, 7000, 7096, 7192, 7288, 7384, 7480, 7576]]
    攻击次数3 = 1
    data4 = [int(x*1.181) for x in [0, 568, 626, 684, 741, 799, 857, 914, 972, 1030, 1087, 1145, 1203, 1261, 1318, 1376, 1434, 1491, 1549, 1607, 1664, 1722, 1780, 1837, 1895, 1953, 2011, 2068, 2126, 2184, 2241, 2299, 2357, 2414, 2472, 2530, 2588, 2645, 2703, 2761, 2818, 2876, 2934, 2991, 3049, 3107, 3164, 3222, 3280, 3338, 3395, 3453, 3511, 3568, 3626, 3684, 3741, 3799, 3857, 3915, 3972, 4030, 4088, 4145, 4203, 4261, 4318, 4376, 4434, 4491, 4549]]
    攻击次数4 = 1
    data5 = [int(x*1.181) for x in [0, 379, 417, 456, 494, 532, 571, 609, 648, 686, 725, 763, 802, 840, 879, 917, 956, 994, 1033, 1071, 1109, 1148, 1186, 1225, 1263, 1302, 1340, 1379, 1417, 1456, 1494, 1533, 1571, 1609, 1648, 1686, 1725, 1763, 1802, 1840, 1879, 1917, 1956, 1994, 2033, 2071, 2109, 2148, 2186, 2225, 2263, 2302, 2340, 2379, 2417, 2456, 2494, 2533, 2571, 2610, 2648, 2686, 2725, 2763, 2802, 2840, 2879, 2917, 2956, 2994, 3033]]
    攻击次数5 = 15
    data6 = [int(x*1.181) for x in [0, 1510, 1663, 1816, 1970, 2123, 2276, 2429, 2582, 2736, 2889, 3042, 3195, 3349, 3502, 3655, 3808, 3961, 4115, 4268, 4421, 4574, 4728, 4881, 5034, 5187, 5340, 5494, 5647, 5800, 5953, 6107, 6260, 6413, 6566, 6719, 6873, 7026, 7179, 7332, 7486, 7639, 7792, 7945, 8099, 8252, 8405, 8558, 8711, 8865, 9018, 9171, 9324, 9478, 9631, 9784, 9937, 10090, 10244, 10397, 10550, 10703, 10857, 11010, 11163, 11316, 11469, 11623, 11776, 11929, 12082]]
    攻击次数6 = 1
    CD = 15.0
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1
    演出时间 = 1.40

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3 + self.data4[self.等级] * self.攻击次数4 + self.data5[self.等级] * (self.攻击次数5 + self.TP等级) + self.data6[self.等级] * self.攻击次数6) * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.23
            self.演出时间 += 0.32
        elif x == 1:
            self.倍率 *= 1.23 + 0.09
            self.演出时间 += 0.32

class 技能19(主动技能):
    名称 = '碎灵屠戮'
    所在等级 = 40
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(x*1.102) for x in [0, 7029, 7760, 8484, 9212, 9936, 10664, 11396, 12120, 12847, 13571, 14304, 15025, 15751, 16463, 17191, 17938, 18661, 19388, 20099, 20825, 21572, 22295, 23024, 23730, 24476, 25185, 25914, 26638, 27366, 28112, 28821, 29552, 30274, 31002, 31746, 32457, 33174, 33904, 34639, 35362, 36088, 36812, 37539, 38273, 38996, 39725, 40447, 41175, 41909, 42629, 43353, 44079, 44813, 45536, 46263, 46988, 47714, 48447, 49170, 49900, 50623, 51332, 52076, 52804, 53526, 54255, 54988, 55713, 56439, 57163]]
    # 攻击次数1 = 1
    data2 = [int(x*1.102) for x in [0, 1634, 1795, 1956, 2117, 2278, 2438, 2598, 2759, 2920, 3082, 3242, 3404, 3565, 3731, 3892, 4045, 4207, 4368, 4534, 4695, 4849, 5012, 5171, 5340, 5493, 5661, 5820, 5982, 6144, 6298, 6465, 6625, 6788, 6948, 7103, 7269, 7433, 7592, 7751, 7913, 8075, 8236, 8396, 8554, 8717, 8876, 9038, 9201, 9359, 9521, 9684, 9845, 10003, 10165, 10325, 10488, 10650, 10807, 10970, 11129, 11290, 11459, 11613, 11773, 11936, 12096, 12256, 12417, 12578, 12738]]
    #攻击次数2 = 1
    data3 = [int(x*1.102) for x in [0, 2996, 3293, 3593, 3894, 4191, 4490, 4788, 5088, 5388, 5687, 5982, 6285, 6584, 6888, 7188, 7479, 7779, 8078, 8382, 8682, 8973, 9273, 9571, 9879, 10171, 10476, 10775, 11073, 11374, 11666, 11971, 12267, 12570, 12867, 13161, 13464, 13767, 14064, 14360, 14662, 14961, 15261, 15558, 15855, 16156, 16455, 16754, 17053, 17350, 17652, 17951, 18250, 18547, 18847, 19146, 19446, 19745, 20042, 20342, 20641, 20940, 21247, 21539, 21838, 22137, 22436, 22733, 23034, 23331, 23631]]
    #攻击次数3 = 1
    data4 = [int(x*1.102) for x in [0, 5046, 5557, 6068, 6582, 7093, 7605, 8118, 8629, 9142, 9653, 10163, 10676, 11188, 11699, 12213, 12724, 13237, 13748, 14259, 14773, 15282, 15795, 16307, 16818, 17330, 17843, 18355, 18867, 19378, 19890, 20403, 20915, 21426, 21938, 22449, 22962, 23474, 23985, 24498, 25009, 25521, 26032, 26545, 27055, 27570, 28080, 28593, 29105, 29616, 30128, 30640, 31151, 31665, 32176, 32687, 33199, 33712, 34224, 34736, 35246, 35759, 36271, 36780, 37295, 37805, 38318, 38830, 39343, 39854, 40365]]
    #攻击次数4 = 1
    data5 = [int(x*1.102) for x in [0, 6463, 7117, 7771, 8428, 9083, 9738, 10396, 11049, 11704, 12361, 13016, 13671, 14329, 14982, 15638, 16294, 16949, 17604, 18262, 18915, 19572, 20227, 20882, 21538, 22193, 22850, 23505, 24159, 24815, 25471, 26126, 26783, 27438, 28092, 28748, 29405, 30059, 30716, 31371, 32025, 32681, 33337, 33992, 34649, 35303, 35960, 36615, 37270, 37925, 38582, 39238, 39891, 40548, 41203, 41858, 42515, 43169, 43826, 44481, 45137, 45793, 46446, 47104, 47759, 48413, 49070, 49725, 50379, 51037, 51692]]
    #攻击次数5 = 1
    data6 = [int(x*1.102) for x in [0, 5853, 6447, 7042, 7635, 8228, 8822, 9416, 10009, 10604, 11196, 11789, 12386, 12979, 13573, 14166, 14759, 15353, 15947, 16542, 17135, 17729, 18322, 18917, 19510, 20104, 20698, 21291, 21886, 22479, 23073, 23668, 24261, 24854, 25447, 26042, 26637, 27229, 27824, 28417, 29010, 29606, 30198, 30791, 31386, 31979, 32573, 33168, 33761, 34355, 34948, 35543, 36137, 36729, 37324, 37919, 38510, 39106, 39699, 40294, 40888, 41480, 42073, 42668, 43263, 43855, 44450, 45043, 45638, 46231, 46824]]
    #攻击次数6 = 1
    data7 = [int(x*1.102) for x in [0, 1769, 1949, 2129, 2309, 2488, 2669, 2846, 3027, 3205, 3387, 3565, 3746, 3925, 4103, 4283, 4463, 4643, 4823, 5002, 5181, 5360, 5541, 5720, 5899, 4438, 6258, 6438, 6618, 6797, 6978, 7157, 7338, 7516, 7694, 7874, 8054, 8234, 8414, 8594, 8772, 8952, 9130, 9312, 9490, 9671, 9850, 10029, 10208, 10388, 10570, 10748, 10928, 11108, 11286, 11466, 11645, 11826, 12004, 12185, 12364, 12543, 12722, 12904, 13082, 13263, 13441, 13621, 13799, 13980, 14159]]
    #攻击次数7 = 1
    data8 = [int(x*1.102) for x in [0, 2181, 2403, 2622, 2845, 3066, 3286, 3508, 3728, 3951, 4171, 4393, 4614, 4835, 5056, 5277, 5498, 5720, 5940, 6163, 6383, 6605, 6825, 7046, 7269, 7488, 7710, 7930, 8152, 8373, 8596, 8817, 9038, 9261, 9480, 9702, 9924, 10144, 10366, 10588, 10809, 11029, 11249, 11472, 11693, 11914, 12134, 12356, 12578, 12799, 13021, 13239, 13462, 13683, 13904, 14126, 14346, 14568, 14788, 15012, 15231, 15454, 15675, 15896, 16119, 16338, 16560, 16782, 17004, 17225, 17444]]
    #攻击次数8 = 1
    data9 = [int(x*1.102) for x in [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19]]
    #攻击次数9 = 10
    data10 = [int(x*1.102) for x in [0, 3539, 3898, 4258, 4618, 4974, 5334, 5694, 6054, 6412, 6772, 7132, 7490, 7850, 8208, 8566, 8925, 9285, 9645, 10003, 10363, 10722, 11081, 11439, 11797, 12157, 12517, 12877, 13237, 13595, 13955, 14315, 14671, 15031, 15391, 15749, 16108, 16468, 16828, 17186, 17546, 17905, 18262, 18621, 18980, 19340, 19700, 20060, 20420, 20778, 21137, 21495, 21853, 22214, 22574, 22932, 23290, 23651, 24011, 24369, 24727, 25087, 25445, 25804, 26163, 26523, 26883, 27243, 27601, 27961, 28319]]
    #攻击次数10 = 1
    data11 = [int(x*1.102) for x in [0, 471, 521, 568, 616, 663, 713, 761, 806, 854, 904, 951, 998, 1046, 1094, 1143, 1190, 1238, 1286, 1333, 1383, 1429, 1478, 1526, 1573, 1621, 1669, 1718, 1765, 1812, 1861, 1908, 1957, 2004, 2051, 2100, 2148, 2196, 2243, 2291, 2340, 2388, 2434, 2483, 2530, 2580, 2626, 2675, 2723, 2771, 2818, 2866, 2913, 2963, 3009, 3058, 3105, 3154, 3201, 3248, 3296, 3346, 3393, 3440, 3488, 3538, 3585, 3632, 3680, 3728, 3776]]
    #攻击次数11 = 6
    data12 = [int(x*1.102) for x in [0, 1871, 2059, 2248, 2438, 2628, 2816, 3007, 3196, 3385, 3575, 3764, 3954, 4145, 4334, 4522, 4713, 4902, 5093, 5283, 5471, 5661, 5850, 6038, 6230, 6420, 6608, 6799, 6988, 7178, 7369, 7559, 7748, 7937, 8126, 8314, 8505, 8696, 8884, 9075, 9263, 9453, 9643, 9834, 10022, 10212, 10402, 10591, 10781, 10970, 11161, 11347, 11538, 11729, 11919, 12108, 12298, 12488, 12678, 12867, 13057, 13246, 13435, 13624, 13814, 14004, 14194, 14384, 14573, 14763, 14951]]
    #攻击次数12 = 1
    data13 = [int(x*1.102) for x in [0, 5309, 5848, 6387, 6925, 7463, 8003, 8541, 9079, 9619, 10157, 10696, 11235, 11773, 12310, 12850, 13389, 13928, 14466, 15006, 15544, 16084, 16621, 17158, 17698, 18237, 18775, 19314, 19854, 20393, 20931, 21471, 22009, 22546, 23085, 23623, 24162, 24702, 25241, 25779, 26318, 26858, 27396, 27932, 28472, 29010, 29550, 30088, 30628, 31166, 31706, 32243, 32782, 33321, 33859, 34398, 34937, 35475, 36013, 36554, 37091, 37629, 38169, 38707, 39247, 39784, 40324, 40862, 41402, 41940, 42478]]
    #攻击次数13 = 1
    CD = 45.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    演出时间 = 1.32
    倍率1 = 1
    倍率2 = 1

    data = [data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13]
    次数 = [1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 6, 1, 1]

    def 等效百分比(self, 武器类型):
        sum = 0
        sum += self.data[0][self.等级] * self.次数[0] * self.倍率1
        for i in range(1, len(self.data)):
            sum += self.data[i][self.等级] * self.次数[i] * self.倍率2
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.25
            self.CD *= 0.9
        elif x == 1:
            self.倍率 *= 1.25 + 0.09
            self.CD *= 0.9

class 技能20(主动技能):
    名称 = '聚灵升空剑'
    所在等级 = 45
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(i*1.203)for i in [0, 2155, 2374, 2594, 2813, 3031, 3248, 3468, 3687, 3907, 4124, 4343, 4562, 4782, 4999, 5218, 5436, 5656, 5875, 6093, 6311, 6531, 6750, 6968, 7186, 7406, 7623, 7844, 8062, 8281, 8499, 8717, 8938, 9155, 9374, 9593, 9812, 10030, 10251, 10467, 10687, 10906, 11123, 11344, 11562, 11782, 11999, 12218, 12437, 12654, 12875, 13093, 13311, 13530, 13750, 13969, 14186, 14405, 14625, 14843, 15061, 15281, 15500, 15718, 15937, 16154, 16374, 16593, 16813, 17030, 17250]]
    攻击次数1 = 1
    data2 = [int(i*1.203)for i in [0, 2588, 2850, 3112, 3375, 3637, 3899, 4162, 4425, 4688, 4950, 5212, 5475, 5737, 5999, 6261, 6525, 6787, 7049, 7312, 7574, 7836, 8099, 8361, 8625, 8888, 9150, 9412, 9675, 9937, 10199, 10462, 10724, 10988, 11250, 11512, 11774, 12037, 12299, 12562, 12825, 13087, 13349, 13612, 13874, 14137, 14398, 14661, 14924, 15187, 15449, 15713, 15974, 16236, 16498, 16763, 17026, 17287, 17550, 17811, 18075, 18337, 18598, 18862, 19125, 19387, 19650, 19912, 20174, 20436, 20699]]
    攻击次数2 = 5
    data3 = [int(i*1.203)for i in [0, 6470, 7124, 7781, 8437, 9094, 9749, 10407, 11062, 11717, 12374, 13031, 13686, 14343, 14999, 15656, 16313, 16969, 17623, 18281, 18937, 19593, 20248, 20905, 21561, 22217, 22875, 23531, 24187, 24843, 25500, 26155, 26812, 27467, 28125, 28780, 29437, 30092, 30750, 31407, 32062, 32719, 33374, 34030, 34686, 35344, 35999, 36654, 37311, 37967, 38623, 39282, 39936, 40593, 41250, 41905, 42561, 43218, 43874, 44530, 45188, 45842, 46499, 47156, 47812, 48468, 49124, 49780, 50437, 51092, 51749]]
    攻击次数3 = 1
    CD = 40.0
    TP成长 = 0
    TP上限 = 5
    是否有护石 = 1
    演出时间 = 2.0#按X加速后

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * (self.攻击次数2 + self.TP等级) + self.data3[self.等级] * self.攻击次数3) * self.倍率

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.23
        elif x == 1:
            self.倍率 *= 1.23 + 0.08

class 技能21(被动技能):
    名称 = '魔能榨取'
    所在等级 = 48
    等级上限 = 40
    学习间隔 = 3
    等级精通 = 30


    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 16:
                return round(1.015 + 0.015 * self.等级, 5)
            else:
                return round(1.295 + 0.020 * (self.等级 - 16), 5)

class 技能22(主动技能):
    名称 = '魔神百裂拳'
    所在等级 = 50
    等级上限 = 40
    学习间隔 = 5
    等级精通 = 30

    data1 = [int(i*1.173)for i in [0, 1822, 2245, 2666, 3091, 3512, 3934, 4356, 4779, 5201, 5625, 6045, 6470, 6892, 7314, 7737, 8158, 8582, 9004, 9428, 9848, 10271, 10694, 11116, 11538, 11961, 12384, 12807, 13230, 13652, 14074, 14496, 14919, 15341, 15764, 16186, 16609, 17032, 17455, 17877, 18299, 18721, 19144, 19567, 19989, 20412, 20834, 21258, 21679, 22101, 22523]]
    攻击次数1 = 12
    data2 = [int(i*1.173)for i in [0, 7286, 8978, 10665, 12356, 14045, 15737, 17425, 19118, 20805, 22497, 24185, 25877, 27567, 29256, 30948, 32635, 34328, 36015, 37708, 39394, 41087, 42775, 44466, 46154, 47846, 49539, 51226, 52919, 54606, 56298, 57985, 59678, 61365, 63057, 64745, 66437, 68124, 69816, 71509, 73195, 74888, 76576, 78268, 79955, 81648, 83335, 85027, 86715, 88407, 90094]]
    攻击次数2 = 3
    data3 = [int(i*1.173)for i in [0, 10931, 13467, 16001, 18536, 21072, 23607, 26141, 28677, 31212, 33746, 36282, 38816, 41351, 43888, 46422, 48956, 51493, 54027, 56562, 59096, 61632, 64167, 66703, 69237, 71771, 74307, 76843, 79376, 81911, 84448, 86982, 89517, 92052, 94587, 97122, 99657, 102191, 104728, 107263, 109797, 112332, 114866, 117402, 119937, 122472, 125007, 127542, 130077, 132612, 135147]]
    攻击次数3 = 1
    攻击倍率 = 1.1#bb在场数量增伤
    CD = 145
    演出时间 = 3.04#按X加速后

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率

class 技能23(主动技能):
    名称 = '黑暗冲击'
    备注 = '(无护石情况下，战士冲击波按照3个计算)'
    所在等级 = 60
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data1 = [int(i*1.195)for i in [0, 1378, 1518, 1658, 1797, 1937, 2077, 2217, 2356, 2497, 2636, 2776, 2915, 3056, 3195, 3335, 3474, 3615, 3754, 3894, 4033, 4174, 4313, 4454, 4594, 4734, 4873, 5014, 5153, 5293, 5432, 5573, 5712, 5852, 5991, 6132, 6271, 6411, 6552, 6691, 6831, 6970, 7111, 7250, 7390, 7529, 7670, 7810, 7949, 8090, 8230]]
    攻击次数1 = 4
    data2 = [int(i*1.195)for i in [0, 1095, 1206, 1319, 1429, 1540, 1651, 1763, 1874, 1985, 2096, 2208, 2319, 2430, 2541, 2653, 2764, 2874, 2986, 3097, 3207, 3318, 3431, 3542, 3652, 3763, 3876, 3987, 4097, 4208, 4320, 4432, 4542, 4653, 4765, 4875, 4987, 5098, 5210, 5320, 5432, 5543, 5654, 5765, 5876, 5988, 6099, 6210, 6321, 6432, 6544]]
    攻击次数2 = 3 * 3  # 无护石情况下，战士冲击波按照3个bb计算，即3*3；有护石情况下，战士冲击波按照打满计算，即3*5
    data3 = [int(i*1.195)for i in [0, 2182, 2403, 2624, 2846, 3066, 3287, 3510, 3731, 3951, 4174, 4395, 4615, 4838, 5059, 5281, 5501, 5722, 5943, 6166, 6386, 6608, 6830, 7051, 7272, 7493, 7715, 7936, 8157, 8378, 8600, 8821, 9042, 9264, 9486, 9706, 9928, 10149, 10372, 10592, 10813, 11035, 11256, 11476, 11699, 11920, 12141, 12363, 12584, 12805, 13027]]
    攻击次数3 = 3
    CD = 30
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1
    演出时间 = 8.72

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            # self.攻击次数2 = 3 * 5
            self.倍率 *= 1.15
            self.演出时间 -= 7.07
        elif x == 1:
            # self.攻击次数2 = 3 * 5
            self.倍率 *= 1.15 + 0.09
            self.演出时间 -= 7.07

class 技能24(主动技能):
    名称 = '午夜嘉年华'
    所在等级 = 70
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data = [int(i*1.199)for i in [0, 1249, 1378, 1504, 1631, 1755, 1883, 2010, 2137, 2263, 2390, 2517, 2644, 2770, 2897, 3025, 3151, 3276, 3403, 3533, 3658, 3784, 3911, 4039, 4165, 4292, 4418, 4544, 4673, 4799, 4925, 5051, 5180, 5305, 5432, 5561, 5687, 5813, 5940, 6064, 6194, 6320, 6446, 6575, 6700, 6826, 6954, 7082, 7207, 7335, 7461, 8308, 8460, 8613, 8767, 8919, 9072, 9225, 9378, 9530, 9684, 9837, 9990, 10143, 10295, 10449, 10602, 10754, 10908, 11061, 11213]]
    攻击次数 = 31
    CD = 50.0
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1
    演出时间 = 3.8

    def 等效百分比(self, 武器类型):
        return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.09
            self.攻击次数 += 4
            self.演出时间 += 0.2
        elif x == 1:
            self.倍率 *= 1.09 + 0.07
            self.攻击次数 += 4
            self.演出时间 += 0.2

class 技能25(被动技能):
    名称 = '亚丁之力'
    所在等级 = 75
    等级上限 = 40
    学习间隔 = 3
    等级精通 = 30

    关联技能 = ['魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击',
            '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸：亚丁降临', '绽放·终章', '盛宴·恶之祭典']
    关联技能2 = ['魔灵召唤：波拉斯', '魔灵召唤：瓦尔琪', '魔灵召唤：狂暴布洛克', '魔灵召唤：假面杰森', '魔灵召唤：大画家芭芘',
             '魔灵召唤：旋转小冯', '魔灵召唤：小吸血鬼夏伊', '魔灵召唤：大富翁鲁邦', '魔灵召唤：迪克老爹', '魔灵召唤：红心女王艾丽莎']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.28 + 0.02 * self.等级, 5)

    def 加成倍率2(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.14 + 0.02 * self.等级, 5)

    def 等效百分比(self, 武器类型):
        return self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率

class 技能26(主动技能):
    名称 = '绚丽耀光'
    所在等级 = 75
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data1 = [int(i*1.183)for i in [0, 17419, 19187, 20954, 22721, 24489, 26256, 28023, 29791, 31558, 33325, 35093, 36859, 38627, 40394, 42161, 43929, 45696, 47463, 49231, 50997, 52765, 54533, 56299, 58066, 59834, 61601, 63368, 65136, 66903, 68670, 70438, 72205, 73972, 75738, 77507, 79273, 81040, 82809, 84575, 86342, 88111, 89877, 91644, 93412, 95179, 96946, 98714, 100481, 102248, 104015, 105783, 107550, 109317, 111085, 112851, 114619, 116387, 118153, 119921, 121687, 123455, 125223, 126989, 128757, 130525, 132291, 134059, 135826, 137593, 139361]]
    攻击次数1 = 1
    data2 = [int(i*1.183)for i in [0, 4064, 4477, 4889, 5302, 5714, 6127, 6539, 6951, 7363, 7776, 8188, 8601, 9013, 9425, 9837, 10250, 10662, 11075, 11487, 11899, 12312, 12724, 13137, 13549, 13962, 14374, 14786, 15198, 15611, 16023, 16436, 16848, 17260, 17672, 18085, 18497, 18910, 19322, 19734, 20146, 20559, 20971, 21384, 21796, 22209, 22620, 23033, 23445, 23858, 24270, 24683, 25095, 25507, 25919, 26332, 26744, 27157, 27569, 27981, 28393, 28806, 29218, 29631, 30043, 30455, 30867, 31280, 31692, 32105, 32517]]
    攻击次数2 = 10
    CD = 40.0
    是否有护石 = 1
    演出时间 = 1.76

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数1 *= 1.3
            self.攻击次数2 *= 1.32
            self.演出时间 -= 0.72

class 技能27(主动技能):
    名称 = '魔灵乱舞'
    所在等级 = 80
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data = [int(i*1.177)for i in [0, 5716, 6296, 6876, 7455, 8036, 8615, 9195, 9775, 10356, 10934, 11515, 12095, 12674, 13255, 13835, 14414, 14995, 15575, 16153, 16734, 17314, 17894, 18475, 19053, 19633, 20214, 20792, 21373, 21954, 22533, 23113, 23693, 24272, 24853, 25433, 26012, 26592, 27173, 27752, 28331, 28912, 29492, 30072, 30652, 31231, 31811, 32392, 32972, 33552, 34131, 34711, 35291, 35871, 36451, 37031, 37610, 38191, 38770, 39350, 39931, 40511, 41089, 41670, 42250, 42829, 43411, 43990, 44569, 45150, 45730]]
    攻击次数 = 12
    CD = 50.0
    是否有护石 = 1
    演出时间 = 3.16

    def 等效百分比(self, 武器类型):
        return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.23

class 技能28(主动技能):
    名称 = '黑曜之眸：亚丁降临'
    所在等级 = 85
    等级上限 = 40
    学习间隔 = 5
    等级精通 = 30

    data1 = [int(i*1.201)for i in [0, 10855, 13371, 15886, 18404, 20922, 23440, 25955, 28475, 30989, 33506, 36025, 38544, 41060, 43579, 46094, 48610, 51128, 53647, 56165, 58681, 61195, 63713, 66232, 68749, 71267, 73787, 76298, 78817, 81337, 83852, 86371, 88891, 91403, 93921, 96438, 98956, 101475, 103991, 106506, 109026, 111541, 114061, 116581, 119095, 121615, 124130, 126646, 129165, 131681, 134200, 136718, 139231, 141749, 144267, 146785, 149304, 151822, 154335, 156852, 159369, 161889, 164406, 166924, 169438, 171957, 174475, 176992, 179511, 182028, 184541]]
    攻击次数1 = 11
    data2 = [int(i*1.201)for i in [0, 449, 553, 656, 762, 866, 970, 1074, 1177, 1281, 1385, 1490, 1594, 1698, 1802, 1906, 2010, 2113, 2219, 2323, 2427, 2531, 2635, 2740, 2843, 2947, 3051, 3155, 3259, 3363, 3468, 3572, 3676, 3779, 3884, 3988, 4092, 4197, 4301, 4405, 4508, 4612, 4716, 4820, 4925, 5030, 5133, 5237, 5341, 5445, 5550, 5654, 5758, 5862, 5966, 6070, 6173, 6278, 6382, 6486, 6590, 6695, 6800, 6904, 7007, 7111, 7215, 7319, 7423, 7528, 7632]]
    攻击次数2 = 20
    CD = 180
    演出时间 = 7.28

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率

class 技能29(被动技能):
    名称 = '黑色曜日'
    所在等级 = 95
    等级上限 = 40
    学习间隔 = 3
    等级精通 = 30


    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)

class 技能30(主动技能):
    名称 = '绽放·终章'
    所在等级 = 95
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data1 = [int(i*1.181)for i in [0, 32119, 35377, 38635, 41894, 45152, 48411, 51669, 54928, 58186, 61445, 64703, 67962, 71220, 74478, 77737, 80995, 84254, 87512, 90771, 94029, 97288, 100546, 103805, 107063, 110321, 113580, 116838, 120097, 123355, 126614, 129872, 133131, 136389, 139648, 142906, 146164, 149423, 152681, 155940, 159198, 162457, 165715, 168974, 172232, 175491, 178749, 182007, 185266, 188524, 191783]]
    攻击次数1 = 1
    data2 = [int(i*1.181)for i in [0, 20877, 22995, 25113, 27231, 29349, 31467, 33585, 35703, 37821, 39939, 42057, 44175, 46293, 48411, 50529, 52647, 54765, 56883, 59001, 61119, 63237, 65355, 67473, 69591, 71709, 73827, 75945, 78063, 80181, 82299, 84417, 86535, 88653, 90771, 92889, 95007, 97125, 99243, 101361, 103479, 105597, 107715, 109833, 111951, 114069, 116187, 118305, 120423, 122541, 124659]]
    攻击次数2 = 4
    data3 = [int(i*1.181)for i in [0, 856, 943, 1030, 1117, 1204, 1290, 1377, 1464, 1551, 1638, 1725, 1812, 1899, 1986, 2072, 2159, 2246, 2333, 2420, 2507, 2594, 2681, 2768, 2855, 2941, 3028, 3115, 3202, 3289, 3376, 3463, 3550, 3637, 3723, 3810, 3897, 3984, 4071, 4158, 4245, 4332, 4419, 4505, 4592, 4679, 4766, 4853, 4940, 5027, 5114]]
    攻击次数3 = 3*5
    CD = 60.0
    演出时间 = 4.24

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率

class 技能31(主动技能):
    名称 = '盛宴·恶之祭典'
    所在等级 = 100
    等级上限 = 40
    学习间隔 = 5
    等级精通 = 30

    data = [int(i*1.181)for i in [0, 450041, 554399, 658756, 763114, 867472, 971829, 1076187, 1180544, 1284902, 1389259, 1493617, 1597974, 1702332, 1806689, 1911047, 2015405, 2119762, 2224120, 2328477, 2432835, 2537192, 2641550, 2745907, 2850265, 2954622, 3058980, 3163337, 3267695, 3372053, 3476410, 3580768, 3685125, 3789483, 3893840, 3998198, 4102555, 4206913, 4311270, 4415628, 4519985]]
    攻击次数 = 1
    CD = 290.0
    演出时间 = 6.72

    def 等效百分比(self, 武器类型):
        return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率

    def 加成倍率(self, 武器类型):
        return 0.0


技能列表 = []
i = 0
while i >= 0:
    try:
        tem = eval('技能'+str(i)+'()')
        tem.基础等级计算()
        技能列表.append(tem)
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

技能一觉序号 = 0
技能二觉序号 = 0
技能三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        技能一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        技能二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        技能三觉序号 = 技能序号[i.名称]

技能护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        技能护石选项.append(i.名称)

皓曦·混沌魔灵符文选项 = ['无', '军团列阵', '魔幻旋风', '毁灭突进', '翔空剑',
               '碎灵屠戮', '聚灵升空剑', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞']


class 皓曦·混沌魔灵角色属性(角色属性):
    实际名称 = '皓曦·混沌魔灵'
    角色 = '守护者'
    职业 = '混沌魔灵'

    武器选项 = ['太刀', '钝器', '巨剑', '短剑']

    类型选择 = ['魔法固伤']

    类型 = '魔法固伤'
    防具类型 = '重甲'
    防具精通属性 = ['智力']

    主BUFF = 2

    远古记忆 = 0

    黑暗冲击战士冲击波个数 = 0
    绽放·终章战士黑炎个数 = 0

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)

    def 被动倍率计算(self):
        super().被动倍率计算()
        x = self.技能栏[self.技能序号['连锁共振']].TP等级
        self.技能栏[self.技能序号['魔灵召唤：波拉斯']].攻击次数 *= 1 + 0.1 * x
        self.技能栏[self.技能序号['魔灵召唤：狂暴布洛克']].攻击次数 *= 1 + 0.1 * x
        self.技能栏[self.技能序号['魔灵召唤：假面杰森']].攻击次数 *= 1 + 0.1 * x
        self.技能栏[self.技能序号['魔灵召唤：旋转小冯']].攻击次数 *= 1 + 0.1 * x
        self.技能栏[self.技能序号['魔灵召唤：迪克老爹']].攻击次数 *= 1 + 0.1 * x

        x = self.技能栏[self.技能序号['绝对魅力']].等级
        self.技能栏[self.技能序号['毁灭突进']].攻击次数2 *= 1.035 + 0.012 * x
        self.技能栏[self.技能序号['毁灭突进']].攻击次数3 *= 1.035 + 0.012 * x
        self.技能栏[self.技能序号['魔灵炸弹']].攻击次数2 *= 1.035 + 0.012 * x
        self.技能栏[self.技能序号['魔灵炸弹']].攻击次数3 *= 1.035 + 0.012 * x

        if '碎灵屠戮' in [self.护石第一栏, self.护石第二栏, self.护石第三栏]:
            self.技能栏[self.技能序号['碎灵屠戮']].倍率1 *= 1.035 + \
                0.012 * x  # 无碎灵屠戮护石，此条不生效
            self.技能栏[self.技能序号['绝对魅力']].描述 = '碎灵屠戮'
        else:
            self.技能栏[self.技能序号['绝对魅力']].描述 = '碎灵屠戮(部分)'
        self.技能栏[self.技能序号['碎灵屠戮']].倍率2 *= 1.035 + 0.012 * x

        if '黑暗冲击' not in [self.护石第一栏, self.护石第二栏, self.护石第三栏]:
            self.技能栏[self.技能序号['黑暗冲击']].攻击次数2 = (self.黑暗冲击战士冲击波个数 + 1)*3
        self.技能栏[self.技能序号['绽放·终章']].攻击次数3 = (self.绽放·终章战士黑炎个数 + 1)*3

    def 技能总伤害计算(self, a, b):
        # a次数 b单次伤害
        技能总伤害 = []
        for i in self.技能栏:
            index = self.技能序号[i.名称]
            if i.是否有伤害 == 1 and a[index] != 0:
                技能总伤害.append(a[index] * b[index] * (1
                                                    + self.白兔子技能 * 0.20
                                                    # 宠物技能占比 = 宠物次数 / 释放次数
                                                    + self.年宠技能 * 0.10 * \
                                                    self.宠物次数[index] / a[index]
                                                    + self.斗神之吼秘药 * 0.12))
            else:
                技能总伤害.append(0)

        if self.第二次魔灵炸弹引爆的战士 != 0:
            temp0 = self.技能栏[15].等效百分比2(
                self.武器类型) * self.伤害指数 * self.技能栏[15].被动倍率
            temp1 = a[15] % 2
            temp2 = int(a[15]/2)
            if temp1 != 0:
                技能总伤害[15] = (b[15] * (temp2+1) + temp0 * temp2) * (1
                                                                   + self.白兔子技能 * 0.20
                                                                   # 宠物技能占比 = 宠物次数 / 释放次数
                                                                   + self.年宠技能 * 0.10 * \
                                                                   self.宠物次数[index] / \
                                                                   a[index]
                                                                   + self.斗神之吼秘药 * 0.12)
            else:
                技能总伤害[15] = (b[15] * temp2 + temp0 * temp2) * (1
                                                               + self.白兔子技能 * 0.20
                                                               + self.年宠技能 * 0.10 * self.宠物次数[index] / a[
                                                                   index]  # 宠物技能占比 = 宠物次数 / 释放次数
                                                               + self.斗神之吼秘药 * 0.12)
        return 技能总伤害


class 皓曦·混沌魔灵(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 皓曦·混沌魔灵角色属性()
        self.角色属性A = 皓曦·混沌魔灵角色属性()
        self.角色属性B = 皓曦·混沌魔灵角色属性()
        self.一觉序号 = 技能一觉序号
        self.二觉序号 = 技能二觉序号
        self.三觉序号 = 技能三觉序号
        self.护石选项 = deepcopy(技能护石选项)
        self.符文选项 = deepcopy(皓曦·混沌魔灵符文选项)

    def 界面(self):
        super().界面()
        self.第二次魔灵炸弹引爆的战士选择 = MyQComboBox(self.main_frame2)
        self.第二次魔灵炸弹引爆的战士选择.addItem('第二次魔灵炸弹引爆的战士 - 迪克老爹')
        self.第二次魔灵炸弹引爆的战士选择.addItem('第二次魔灵炸弹引爆的战士 - 旋转小冯')
        self.第二次魔灵炸弹引爆的战士选择.setCurrentIndex(2)
        self.第二次魔灵炸弹引爆的战士选择.resize(250, 20)
        self.第二次魔灵炸弹引爆的战士选择.move(322, 390)

        self.黑暗冲击战士冲击波个数选择 = MyQComboBox(self.main_frame2)
        self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中1个')
        self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中2个')
        self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中3个')
        self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中4个')
        self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中5个')
        self.黑暗冲击战士冲击波个数选择.setCurrentIndex(2)
        self.黑暗冲击战士冲击波个数选择.resize(250, 20)
        self.黑暗冲击战士冲击波个数选择.move(322, 420)

        self.绽放·终章战士黑炎个数选择 = MyQComboBox(self.main_frame2)
        self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中1个')
        self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中2个')
        self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中3个')
        self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中4个')
        self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中5个')
        self.绽放·终章战士黑炎个数选择.setCurrentIndex(4)
        self.绽放·终章战士黑炎个数选择.resize(250, 20)
        self.绽放·终章战士黑炎个数选择.move(322, 450)

        self.职业存档.append(('第二次魔灵炸弹引爆的战士选择', self.第二次魔灵炸弹引爆的战士选择, 1))
        self.职业存档.append(('黑暗冲击战士冲击波个数选择', self.黑暗冲击战士冲击波个数选择, 1))
        self.职业存档.append(('绽放·终章战士黑炎个数选择', self.绽放·终章战士黑炎个数选择, 1))

    def 输入属性(self, 属性, x=0):
        super().输入属性(属性, x)
        属性.第二次魔灵炸弹引爆的战士 = self.第二次魔灵炸弹引爆的战士选择.currentIndex()
        属性.黑暗冲击战士冲击波个数 = self.黑暗冲击战士冲击波个数选择.currentIndex()
        属性.绽放·终章战士黑炎个数 = self.绽放·终章战士黑炎个数选择.currentIndex()
